// Contains all the necessary functions for the game to start running
#include <iostream>
#include <string>
#include <windows.h>
using namespace std;

/* ==============
 *  MENU OPTIONS
 * ex. [1] = shop
 *     [2] = jobs
 * ============== */

__int8 menuOption;

// Money and hardware
int money;
int cpu;
int ram;
int internet;

/* ============================
 *  UPGRADES
 *  Can be bought in the game
 *  mHZ < gHZ
 *  kb < mb < gb
 * ============================ */

string cpuType;
string ramType;
string internetType;

// Scrolling text for the 90s feel
void ScrollText(string input) {
    for (size_t x = 0; x < input.length(); ++x) {
        cout << input[x];
        Sleep(25);
    }
}

// Clear the screen of text
void clearMe() {
    system("cls");
}

// Whenever prompting for the user to press ENTER to continue is needed
void promptMe() {
    ScrollText( "\n\nPress ENTER to continue\n" );
    cin.get();
}

// Money and Hardware top bar (displays current hardware specs)
void topBar() {
    cout << "Money: $" << money << "\tCPU SPEED: " << cpu << cpuType << "\tRAM: " << ram << ramType << "\tInternet Speed: " << internet << internetType << "\n\n";
}

// Intro Sequence
void introText() {
    ScrollText( "You are a password cracker, starting off in your basement in the early 90's.\n"
                "You decide to use your ex CIA skills in the malicious business of cracking.\n"
                "Clients will come to you with all kinds of files.\n"
                "As the years pass, encryption will require higher CPU clocks to crack.\n"
                "Your program must also be optimized for different kinds of encryption.\n"
                "Good luck.\n" );

    promptMe();
    clearMe();
}

void menuScreen() {
    cout << "Net Shop:\t[1]\n"
         << "Check for jobs:\t[2]\n"
         << "Exit:\t\t[3]\n";
    cin >> menuOption;
}